package service

import (
	"context"

	__ "user_srv/basic/userproto"
	"user_srv/handler/dao"
)

// 风控规则引擎相关接口实现

// GetRiskRules 获取风控规则列表
func (s *Server) GetRiskRules(ctx context.Context, req *__.GetRiskRulesReq) (*__.GetRiskRulesResp, error) {
	// 调用dao层，参数验证和数据转换都在dao层处理
	return dao.GetRiskRulesProto(ctx, req)
}

// GetRiskRule 获取单个风控规则
func (s *Server) GetRiskRule(ctx context.Context, req *__.GetRiskRuleReq) (*__.GetRiskRuleResp, error) {
	// 调用dao层，参数验证和数据转换都在dao层处理
	return dao.GetRiskRuleProto(ctx, req)

}

// CreateRiskRule 创建风控规则
func (s *Server) CreateRiskRule(ctx context.Context, req *__.CreateRiskRuleReq) (*__.CreateRiskRuleResp, error) {
	// 调用dao层，参数验证、数据转换和业务逻辑都在dao层处理
	return dao.CreateRiskRuleProto(ctx, req)
}

// UpdateRiskRule 更新风控规则
func (s *Server) UpdateRiskRule(ctx context.Context, req *__.UpdateRiskRuleReq) (*__.UpdateRiskRuleResp, error) {
	// 调用dao层，参数验证、数据转换和业务逻辑都在dao层处理
	return dao.UpdateRiskRuleProto(ctx, req)

}

// DeleteRiskRule 删除风控规则
func (s *Server) DeleteRiskRule(ctx context.Context, req *__.DeleteRiskRuleReq) (*__.DeleteRiskRuleResp, error) {
	// 调用dao层，参数验证和业务逻辑都在dao层处理
	return dao.DeleteRiskRuleProto(ctx, req)
}

// ToggleRiskRuleStatus 切换风控规则状态
func (s *Server) ToggleRiskRuleStatus(ctx context.Context, req *__.ToggleRiskRuleStatusReq) (*__.ToggleRiskRuleStatusResp, error) {
	// 调用dao层，参数验证和数据转换都在dao层处理
	return dao.ToggleRiskRuleStatusProto(ctx, req)
}

// ExecuteRiskCheck 执行风控检查
func (s *Server) ExecuteRiskCheck(ctx context.Context, req *__.RiskCheckRequest) (*__.RiskCheckResponse, error) {
	// 调用dao层，参数验证和业务逻辑都在dao层处理
	return dao.ExecuteRiskCheckProto(ctx, req)
}

// GetRiskLogs 获取风控日志
func (s *Server) GetRiskLogs(ctx context.Context, req *__.GetRiskLogsReq) (*__.GetRiskLogsResp, error) {
	// 调用dao层，参数验证和数据转换都在dao层处理
	return dao.GetRiskLogsProto(ctx, req)
}
